/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package controlador;

import excepciones.SalaException;
import excepciones.UsuarioException;
import java.security.NoSuchAlgorithmException;
import java.util.Map;
import java.util.Set;
import negocio.Complejo;
import negocio.Evento;
import negocio.Fila;
import negocio.Rol;
import negocio.Sala;
import negocio.Seccion;
import negocio.Usuario;

/**
 *
 * @author Diego
 */
public class CtrlVista {
     private static Complejo unComplejo;

    public CtrlVista() throws Exception{       
            CtrlVista.unComplejo = new Complejo();
            CtrlVista.unComplejo = unComplejo.mostrarComplejo();
    }

    public static Complejo getUnComplejo() {
        return unComplejo;
    }

    public static void setUnComplejo(Complejo unComplejo) {
        CtrlVista.unComplejo = unComplejo;
    }
    
    public Set<Sala> obtenerSalasActivas(){
        return CtrlVista.unComplejo.getSalasActivas();
    }
    public Set<Sala> obtenerSalas(){
        return CtrlVista.unComplejo.getSalas();
    }
    public void agregarSala(String nombre, Integer capacidad,boolean estado) throws SalaException, Exception{
        CtrlVista.unComplejo.agregarSala(nombre, capacidad,estado);
    }
    public void guardarSala(String unNombre, Integer unaCapacidad,boolean estado) throws SalaException, Exception{
        CtrlVista.unComplejo.guardarSala(unNombre,unaCapacidad,estado);
    }
    public Map<String,Usuario> obtenerUsuarios(){
        return CtrlVista.unComplejo.getUsuarios();
    }
    public void agregarUsuario(String userName,String pass,String nivel,Rol unRol) throws NoSuchAlgorithmException, Exception{        
        CtrlVista.unComplejo.agregarUsuario(userName, pass, nivel,unRol);        
    }
    public Set<Evento> obtenerEventos(){
        return CtrlVista.unComplejo.getEventos();
    }
    public void agregarEvento(String nombre, String descripcion, boolean activo) throws Exception{
        CtrlVista.unComplejo.agregarEvento(nombre, descripcion, activo);
    }
    public Usuario validarUsuario(String userName,String pass) throws UsuarioException, NoSuchAlgorithmException{
        return CtrlVista.unComplejo.validarUsuario(userName, pass);
    }
    public void agregarButaca(Fila unaFila,String nro,boolean estado) throws Exception{
        unaFila.agregarButaca(nro,estado);
    }
    public void agregarSeccion(Sala unaSala,String nombre) throws Exception{
        unaSala.agregarSeccion(nombre);
    }
    public void modificarSeccion(Seccion unaSeccion){
        
    }
}
